Content
All persisted content is stored locally on the host system at:
/srv/shinystudio
To store files in another directory, edit the MOUNTPOINT variable in control.sh.
NOTE: v1.0.0 is a major overhaul that includes many changes that are not backwards compatible. If you are running an existing version, backup existing content and re-setup from scratch.
The ShinyStudio project is an orchestration of Docker services with the goal of providing:
The ShinyStudio ecosystem primarily consists of the products described below:
ShinyStudio is not a product; it is a project / ecosystem wholly composed of the above products. ShinyStudio is not affiliated with or supported by RStudio, Microsoft, or OpenAnalytics.
Prereqs:
Setup your ShinyStudio site with:
# Clone this repository.
git clone https://github.com/dm3ll3n/ShinyStudio
# Enter the new directory.
cd ShinyStudio
# Setup and run.
./control.sh setup
This operation can take a few minutes.
Once complete, open a web browser and navigate to http://localhost:8080.
The default logins are:
user: useradmin: adminsuperadmin: superadminA “personal” branch of ShinyStudio exists. It’s configuration differs in a few key ways:
127.0.0.1)12345.changeme.The setup slightly differs:
# Clone this repository.
git clone https://github.com/dm3ll3n/ShinyStudio -b personal
# Enter the new directory.
cd ShinyStudio
# Setup and run.
./control.sh setup "${HOME}/shinystudio"
The last argument to control.sh specifies the directory where content and settings will be stored.
Authentication is managed by ShinyProxy, which supports basic auth, LDAP, Kerberos, and others (read more).
ShinyStudio defines three levels of access:
Admin/Superadmin landing page:
Readers:
Open your IDE of choice and notice two important directories:
Files must be saved in either of these two directories in order to persist between sessions.
These two folders are shared between instances RStudio, VS Code, and Shiny Server. So, creating new content is as simple as saving a file to the appropriate directory.
The ShinyStudio ecosystem comes with…
…and ODBC drivers for:
These are persistent because they are built into the image.
Apps / drivers installed through RStudio/VS Code will not persist.
Libraries for R, Python, and PowerShell will persist. Additionally, user workspace settings (e.g. themes) are persistent.
All persisted content is stored locally on the host system at:
/srv/shinystudio
To store files in another directory, edit the MOUNTPOINT variable in control.sh.
To apply a custom security configuration, modify the ShinyProxy configuration file for the site. All available options are detailed here.
./shinyproxy/config/sites/8080.yml
Open 8080.yml and edit the following lines as desired:
authentication: simple
users:
- name: superadmin
password: *change*me*
groups: superadmins
- name: admin
password: *change*me*
groups: admins
- name: user
password: *change*me*
groups: readers
After modifying any part of the configuration, stop and re-setup the site with:
Multiple sites can be useful to segment content or provide unique customizations.
The configs below will setup two unique, independent instances of ShinyStudio, hosted on ports 8080, 8081.
./shinyproxy/config/sites/8080.yml
./shinyproxy/config/sites/8081.yml
To customize the landing page, edit:
./shinyproxy/config/templates/grid-layout/index.html
To simply replace the background, replace the file below with the background desired background:
./shinyproxy/config/templates/grid-layout/assets/img/background.png
Site content is never removed by any of the provided control scripts; you must do this manually, if desired.
To thoroughly remove and reinstall ShinyStudio:
# remove ShinyStudio Docker containers & images.
./control.sh remove
# remove site content!
sudo rm -rf "$MOUNTPOINT"
# removes *all* unused Docker volumes!
docker volume prune
# setup ShinyStudio
./control.sh setupBy removing existing images, the setup will pull the latest versions of the base Docker image for RStudio/Shiny.
Pull requests are welcome and appreciated, particularly with: